Systems and methods for content surfing

ABSTRACT

Systems and methods for improving or suggesting alternatives to content surfing are provided. When it is detected that a user wishes to surf, a pipeline tuning sequence is implemented where by storing one or more frames of a first content selection to the user equipment and acquiring a subsequent content selection while concurrently displaying the previously stored one or more frames. Content suggestions, program listing grids, media guidance application and tuning hints, advertisements, digital audio, and live video may also be presented to user while content surfing. In some embodiments, content surf landing channels may be anticipated based on user history, user profiles, or any other suitable information. In some embodiments, thumbnails of the user&#39;s recently tuned, or paused on, content are displayed to the user while content surfing. In multiple tuner systems, more than one thumbnail may be displayed in full motion video.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.11/430,468 filed on May 8, 2006 and which claims the benefit of U.S.Provisional Patent Application No. 60/678,493 filed May 6, 2005, all ofwhich are hereby incorporated by reference herein in their entirety.

BACKGROUND OF THE INVENTION

This invention relates generally to media systems and, moreparticularly, to enhanced media systems that allow users to surfcontent.

Current media systems, including, for example, television, audio, andgaming systems, allow users to access a wide array of media content.This content may include movies, television programs, music, news,interactive applications (e.g., interactive games), Internet resources(e.g., website, newsgroups, chatrooms), and any other media contentcapable of being presented on user equipment. The content may bepresented on hundreds of on-demand and broadcast channels, as well asfrom attached storage devices.

However, current media systems are susceptible to delays when navigatingthrough the wide array of available media content. For example, a usermay experience a delay of over a second when changing channels ontypical user equipment, including digital and analog televisionequipment. As another example, a delay of several seconds is common whenbrowsing through available content stored on a digital video recorder orattached recording device. These delays may be due, at least in part, tothe time it takes the user equipment to decode the media content orbroadcast stream.

To help facilitate content navigation, some media systems provide one ormore interactive applications, such as an interactive media guidanceapplication, to more easily browse the wide array of available content.The interactive media guidance application may present a grid display tothe user containing media content listings. The listings may be part ofa comprehensive interactive media guide, allowing the user to see whatcontent is accessible, on what channel, and at what time.

Some users, however, may be unaware of the existence of the media guideor may prefer to surf the actual channels rather than a media guidelisting. These users may become frustrated by the frequent delaysassociated with changing channels and accessing content. The delays areeven more vexing when the user is trying to surf quickly in onedirection.

Accordingly, it is desirable to provide systems and methods foraccelerating content switching in media systems. The systems and methodsmay reduce the delays associated with content navigation by implementinga content surf sequence.

SUMMARY OF THE INVENTION

These and other objects are accomplished in accordance with theprinciples of the present invention by providing enhanced user equipmentconfigured to reduce content switching delays. In one embodiment, whenthe user equipment detects a content surf request, one or more frames ofthe next content selection may be stored to the user equipment. The userequipment may then immediately tune to the content selection after thenext content selection while concurrently displaying the previouslystored one or more frames. This pipeline tuning sequence may be repeatedfor subsequent content selections until the user has terminated thecontent surf request.

In some embodiments, the enhanced user equipment may include more thanone tuner input. In these embodiments, the tuner inputs may be involvedin a round-robin pipeline tuning process, whereby the tuner inputs maytake turns tuning to the next content selection in the direction of thecontent surf.

In some embodiments, content selections may be additionally oralternatively skipped in the direction of the content surf. For example,the user equipment may skip every N content selections, whereby N may bea user-programmable value. The user equipment may then tune to onlyevery Nth content selection. In some of these embodiments, only thefirst one or more frames of the Nth selection are stored in memory onthe user equipment, and a pipeline tune is implemented. The one or moreframes of the Nth selection may be displayed to the user whileconcurrently tuning to the next (e.g., N+Nth) content selection.

The enhanced user equipment may also provide content suggestions to theuser while content surfing. After a user has been content surfing for auser or system-specified period of time, a minimally-intrusive menu ofcontent suggestions may be presented to the user. This menu may containcontent listings for media that is currently (or shortly) accessible bythe user equipment. In addition, the suggested content listings may bechosen based, at least in part, on user preferences, user profile data,user behavior, or user history. In addition to presenting a listing ofcontent suggestions, each content listing in the menu may be associatedwith a quick dial number or link to the actual content. When a userinputs the quick dial number or selects the link, the user equipment mayautomatically present the corresponding content on the user equipment.

In some embodiments, hints to more efficiently navigate content arepresented to the user when a user enters a content surf. The hints mayinclude instructions on use of an interactive media guidance applicationor details of the search system operation. In some embodiments, thehints appear in the flip bar area or as unobtrusive overlays that do notinterfere with the content surf.

In some embodiments, a stored graphic, video, or digital audio may bepresented to the user while the user is content surfing. This storedcontent may include low resolution content stored in a circular bufferthat emulates a fast tuning sequence while the user surfs to newcontent. In some embodiments, the user equipment may also anticipate theuser's ultimate landing channel or content based on, at least in part,user preferences, user profile data, user behavior (e.g., the intensityor frequency of the up/down channeling), or user history.

The enhanced user equipment may also present advertising while the useris content surfing. Advertising may include locally-stored images,graphics, text, and video with links to purchase order forms, websites,and more information related to the product or service being advertised.Advertisements may be presented to the user in an unobtrusive manner soas to not interfere with the content surf.

In some embodiments, one or more thumbnail windows containing stillframes, box art, video clip loops, or live video of one or more recentlytuned channels or content may be presented to the user while contentsurfing. The thumbnail windows may represent a visual map of where theuser has paused during the current content surf. If more than one tuneris available in the user equipment, live video of the user's mostrecently paused on channels or content may be presented to the user inthe thumbnail windows until the user terminates the content surf. Insome embodiments, a user may select any thumbnail window to return tothe previously paused on content and terminate the content surf.Additionally or alternatively, a menu listing of the user's mostrecently paused on channels or content may be presented to the user withquick dial numbers associated with each content entry in the menu. Whenthe user inputs a quick dial number, the corresponding content may beautomatically presented to the user.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other features of the present invention, its nature andvarious advantages will be more apparent upon consideration of thefollowing detailed description, taken in conjunction with theaccompanying drawings, and in which:

FIG. 1 is a diagram of an illustrative interactive media system inaccordance with the present invention;

FIG. 2 is a diagram of illustrative enhanced user equipment inaccordance with the present invention;

FIG. 3 shows an illustrative surf display screen with content mini-guidein accordance with the present invention;

FIG. 4 shows an illustrative surf display screen with content navigationhints in accordance with the present invention;

FIG. 5 shows an illustrative surf display screen with a channel numberprompt in accordance with the present invention;

FIG. 6 shows an illustrative user favorite channels surf display screenin accordance with the present invention;

FIG. 7 shows an illustrative user profile display screen in accordancewith the present invention;

FIG. 8 shows an illustrative user profile genre details display andsetup screen in accordance with the present invention;

FIG. 9 shows an illustrative surf display screen with a contentsuggestions menu in accordance with the present invention;

FIG. 10 shows an illustrative surf display screen with a recently tunedcontent overlay and content thumbnail windows in accordance with thepresent invention;

FIG. 11 shows an illustrative surf display screen with a recently tunedcontent overlay and content tuning message in accordance with thepresent invention;

FIG. 12 is a flow chart depicting an illustrative process for detectinga content surf request in accordance with the present invention;

FIG. 13 is a flow chart depicting an illustrative process for pipelinetuning in accordance with the present invention;

FIG. 14 is a flow chart depicting an illustrative process foranticipating a user's landing channel at the conclusion of a contentsurf in accordance with the present invention;

FIG. 15 is a flow chart depicting an illustrative process for preparinga content suggestions menu in accordance with the present invention;

FIG. 16 is a flow chart depicting an illustrative process for presentingcontent suggestions to a user while content surfing in accordance withthe present invention; and

FIG. 17 is a flow chart depicting an illustrative process for presentingpreviously paused on content while content surfing in accordance withthe present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The systems and methods of the present invention are directed towardmore efficient content surfing in media systems. Although theembodiments described below may refer to channel switching in broadcastdigital or analog television systems, it is to be clearly understoodthat the systems and methods of the invention may be used with anysuitable video or audio content (e.g., on-demand or recorded content)and in any suitable media system (e.g., satellite, on-demand, and IPTVsystem). As used herein, content or channel “surfing” refers to quicklyprogressing through a series of content selections or channels (e.g., aquick progression up or down through a number of channels whether or notthose channels are contiguous).

As also used herein, the term “tune” or “tuning” refers to thepreparation of acquisition of a specific content stream or contentselection accessible by the user equipment. For traditional analogtelevision systems, tuning may include acquiring or locking onto aparticular channel carrier frequency. For digital television systems,tuning may include demodulating the digital carrier frequency, FECdecoding the demodulated transport stream (TS), demultiplexing thetransport stream, and extracting particular packet identifier (PID)streams. For IPTV, tuning may include opening an IP socket and joining aparticular multicast group. For recorded content, tuning may includelocating the content on one or more storage device (e.g., by reading FATinformation).

FIG. 1 shows illustrative interactive media system 100 in accordancewith the invention. User equipment 102 may receive content in the formof signals from content source 130 and/or data sources 140 overcommunications paths 150 and 152, respectively. Any suitable number ofusers may have user equipment, such as user equipment 102, coupled tocontent source 130 and data sources 140. For the clarity of the figure,however, the user equipment of only a single user is shown. In addition,although in practice there may be numerous instances of content source130, for clarity only a single content source is shown in FIG. 1.

Content source 130 may be any suitable content source such as, forexample, a cable system headend, satellite television distributionfacility, television broadcast facility, on-demand server (e.g.,video-on-demand (VOD) server), Web server, game service provider (e.g.,for local or online gaming), Internet or network access node, or anyother suitable facility or system for originating or distributingpassive or interactive media content to user equipment 102. Mediacontent that may be provided by content source 130 to user equipment 102may include broadcast television programming, VOD programming, music,news, interactive applications (e.g., interactive games), Internetresources and web services (e.g., websites, newsgroups, and chatrooms),and any other media content capable of being displayed, presented to,recorded, or interacted with, using user equipment 102.

Content source 130 and data sources 140 may be configured to transmitsignals to user equipment 102 over any suitable communications paths 150and 152, including, for example, satellite paths, fiber-optic paths,cable paths, or any other suitable wired or wireless paths. The signalsmay be transmitted as a broadcast, switched broadcast, multicast,unicast, or any other suitable transmission stream. Content source 130may also include control circuitry 132 for performing operations on thesignals transmitted by the content source, such as, for example,generating new signals or communicating with user equipment 102 toprovide on-demand content and related functionality.

User equipment 102 may receive interactive application data from one ormore of data sources 140 and content source 130. Data sources 140 mayprovide data for a particular type of content or for a particularapplication running on user equipment 102. For example, one data source142 may provide data for an interactive media guidance application andanother data source may provide data for a home shopping application. Insome embodiments, data sources 140 may provide data to the applicationsrunning on user equipment 102 using a client-server model. There may beone server per data source, one server for all sources, or, in someembodiments, a single server may communicate as a proxy between userequipment 102 and various data sources 140.

Content source 130 and data sources 140 are shown in FIG. 1 as separateelements. In practice, their functionality may be combined into a singlemechanism and provided from a single system at a single facility, ortheir functionality may be provided by multiple systems at multiplefacilities. For example, content source 130 and data source 142 may becombined to provide broadcast television content and associatedbroadcast television data or other suitable information.

User equipment 102 may include any equipment suitable for providing aninteractive media experience. For example, user equipment 102 mayinclude computer equipment, such as a personal computer with atelevision card (PCTV). User equipment 102 may also include televisionequipment such as a television and set-top box, a recording device, avideo player, a user input device (e.g., remote control, a keyboard, amouse, a touch pad, a touch screen, and/or a voicerecognition/verification module) or any other device suitable forproviding a complete, interactive television experience. For example,user equipment 102 may include a DCT 2000, 2500, 5100, 6208 or 6412set-top box provided by Motorola, Inc. In some embodiments, userequipment 102 may include a gaming system, a portable electronic device,such as a portable DVD player, a portable gaming device, a cellulartelephone, a PDA, a digital music player/recorder (e.g., an MP3 playerwith recording capabilities), or any other suitable portable or fixeddevice.

In the example of FIG. 1, user equipment 102 includes at least controlcircuitry 110, display device 104, user input device 108, and memory112, all of which may be implemented as separate devices or as a single,integrated device. User equipment 102 may also include interactive mediaguidance application 106, which, in some embodiments, may be implementedat least partially on control circuitry 110. In addition to interactivemedia guidance application 106, other interactive applications, such asa home banking or parental control application, may be implemented onuser equipment 102. These interactive applications may be configured todirect a tuner in control circuitry 110 to display, on display device104, various interactive application overlays and display screens and toprovide various interactive application features.

Interactive media guidance application 106 may be configured to displaycontent listings, retrieve content previews, provide contentsuggestions, and detect a user request to content surf. A user requestto content surf may be initiated via input device 108. In someembodiments, a content surf may be affirmatively requested by the user.For example, “channel surf up” and “channel surf down” buttons may beselected on input device 108. Upon selecting either of these twobuttons, the user may enter surf mode and initiate one or more contentsurfing sequences (described below). In other embodiments, a contentsurf may be initiated by interactive media guidance application 106after some user input criteria has been met. For example, interactivemedia guidance application 106 may initiate a content surf on behalf ofthe user after the repeated selection of a traditional channel up ordown button on user input device 108 for a user or system-specifiedperiod of time. A content surf may be initiated in other ways as well.For example, after pressing (and holding) a traditional channel up ordown button for certain length of time, interactive media guidanceapplication 106 may determine that the user desires to content surf.This length of time may be customized by the user or fixed by the userequipment.

In some embodiments, the rate of the content surf may be a function ofthe length of time the user has requested the content surf using inputdevice 108. For example, if a user holds a channel up button on inputdevice 108 for 5 seconds, the user equipment may content surf at a rateof 5 channels per second. As the user continues to press the channel upbutton on input device 108, the rate may increase proportional to theamount of the time the user holds the channel up button. In someembodiments, if the user changes the interaction with input device 108,the rate may decrease. For example, if the user switches from holdingthe channel up button to a repeated button selection, the rate may dropback down to 5 channels per second. In some embodiments, the number ofchannels to skip between tunes is affected by the user interaction withthe channel up/down buttons.

Display device 104 may be any suitable device capable of presentinghuman-perceivable media, such as, for example, a television monitor,computer monitor, LCD display, video projection device, holographicprojector, virtual reality simulator, etc. Display device 104 may alsobe configured to provide audio and other sensory output and may beincorporated into some device of user equipment 102 (e.g., a cellulartelephone or music player display).

Control circuitry 110 is adapted to receive user input from input device108, execute the instructions of interactive media guidance application106, execute instructions from any other applications running on theuser equipment, and direct display device 104 to display media contentand interactive application display screens and overlays. Controlcircuitry 110 may include one or more tuners (e.g., analog or digitaltuners), encoders and decoders (e.g., MPEG encoders and decoders),processors (e.g., Motorola 68000 family processors), memory,communications circuitry (e.g., cable modem and ATSC 256QAM receivercircuitry), input/output circuitry (e.g., graphics circuitry),connections to the various devices of user equipment 102 (e.g.,interactive media guidance application 106 and memory 112), and anyother suitable components for providing analog or digital mediaprogramming and interactive application features. In some embodiments,control circuitry 110 may be included as part of one of the devices ofuser equipment 102 such as, for example, part of display 104 or anyother device (e.g., a set-top box, television, and/or video player).

Control circuitry 110 may be connected to memory 112 for storing datafrom data sources 140 or content source 130. This data may include datafor use by interactive media guidance application 106 (e.g., programlistings, schedules, ratings information, and related programinformation). Control circuitry 110 may also store user profile data,such as, for example, user viewing history data and favorite programlists, in memory 112. Control circuitry 110 may also be configured toexecute the instructions of interactive media guidance application 106from memory 112, which may include any type of storage or memorymechanism (e.g., RAM, ROM, hybrid types of memory, hard disks, and/oroptical drives).

In at least some embodiments, interactive media guidance application 106is implemented in software. However, an implementation of softwareand/or hardware may be used in other embodiments. These arrangements aremerely illustrative. Other suitable techniques for implementinginteractive media guidance application 106 may be used if desired.

Although in the illustrated embodiment of FIG. 1 interactive mediaguidance application 106 is internal to user equipment 102, interactivemedia guidance application 106 may be partially implemented externallyto user equipment 102. For example, interactive media guidanceapplication 106 may be implemented at content source 130 and may runusing a client-server or distributed architecture where some of theapplication is implemented locally on user equipment 102 in the form ofa client process and some of the application is implemented at a remotelocation in the form of a server process. In other embodiments,interactive media guidance application 106 may be implemented as astandalone application, subprocess, or class (e.g., in an OCAPenvironment). In these embodiments, the management and functionality ofinteractive media guidance application 106 may be invoked directly byanother interactive application or the underlying operating system aftersome user input from input device 108.

FIG. 2 shows illustrative enhanced user equipment 200 in accordance withthe invention. In some embodiments, user equipment 200 may include allthe functionality, connections to other parts of media system 100, andfeatures of user equipment 102 of FIG. 1. User equipment 200 may be anyin-home equipment suitable for providing interactive functionality, suchas a suitably equipped television, set-top box, IPTV receiver, digitalvideo recorder (DVR), personal video recorder (PVR), or PCTV equipment.Whatever the chosen equipment, user equipment 200 may include at leastuser input device 220, control circuitry 230, memory 234, recordingdevice 260, display device 240, one or more of tuners 210 and 212, andgraphics circuitry 250.

Communications path 238 may be any suitable display interface such as,for example, RGB, YPrPb, NTSC, a Digital Visual Interface (DVI) orFireWire Interface (IEEE 1394). Communications path 222 may be anysuitable wired or wireless path (e.g., an infrared path).

Control circuitry 230 may include a processor, such as a microprocessor,and any other suitable circuitry for providing interactivefunctionality, including, for example, caching circuitry, video-decodingcircuitry, direct memory access circuitry, input-output circuitry,decryption circuitry, and transcryption circuitry.

Enhanced user equipment 200 may include one or more of tuners 210 and212. Although only two tuners are shown in the example of FIG. 2, userequipment 200 may include any suitable number of tuners. Tuners 210 and212 may include one or more analog or digital tuners, network sockets(for IPTV systems), MPEG encoders/decoders, or other suitableaudio/video circuitry. Tuners 210 and 212 may also includedecoding/encoding circuitry for converting over-the-air or cable analogsignals to MPEG signals for storage or for decoding digital audio andvideo signals. The tuning and encoding circuitry may be used by userequipment 200 to receive and display, play, or record a particulartelevision, music, or on-demand channel or any other desired audio andvideo content (e.g., for requested network-based or local digital videorecorder playback).

Each of tuners 210 and 212 may be coupled to control circuitry 230.Control circuitry 230 may direct tuners 210 and 212 to tune, acquire,and decode any suitable content accessible by user equipment 200. Forexample, tuner 210 may be an analog tuner used to acquire analogtelevision signals, whereas tuner 212 may be a digital tuner, used toacquire and decode digital television signals. Control circuitry 230 maystore or buffer one or more frames of video from tuners 210 and 212 tomemory 234 at any suitable time. In addition, memory 234 may include oneor more pre-stored buffers (e.g., circular buffers) of low-resolutionaudio or video, graphics, advertising, or any other suitable content.Control circuitry 230 may cause the stored frames, pre-stored buffer,audio, or video to be displayed or presented on display device 240 atany suitable time (e.g., after some user input from user input device220).

User equipment 200 may also include recording device 260. Recordingdevice 260 may include a hard drive (e.g., one or more ATA, SCSI, IDE,or IEEE 1394 drives), digital video recorder (DVR), personal videorecorder (PVR), or any other device capable of storing media content.Control circuitry 230 may access stored content (e.g., programs andmovies) on recording device 260 and cause the content to be presented ondisplay device 240 at any suitable time.

In some embodiments, user equipment 200 may also include graphicscircuitry 250. Graphics circuitry 250 may include video and/or audiotranscoding circuitry, one or more graphics processors, memory, andvarious display outputs (e.g., S-Video and composite video outputs).Graphics circuitry 250 may also include video compression and scalingcodecs or circuitry to scale the input from tuners 210 or 212 (or fromsome other device, such as recording device 260) to a resolution or sizeother than the input's native resolution or size. For example, usinggraphics circuitry 250, the input to tuners 210 and/or 212 may bedisplayed at a smaller size on display device 240 than their native sizein order for program listings information to be presented with the tunercontent on the same display screen. As another example, graphicscircuitry 250 may present full-motion or still frame thumbnail windowscorresponding to one or more tuner inputs on the same display screen.Graphics circuitry 250 may scale one video input at a time or scale morethan one video input simultaneously. For example, the inputs of bothtuners 210 and 212 may be scaled simultaneously so that these inputs maybe displayed together on the same display screen in real-time (perhapswith program listings information, content suggestions, or othersuitable information).

After the user affirmatively initiates a content surf or the interactivemedia guidance application initiates a content surf on behalf of theuser (as described above), control circuitry 230 may respond byinitiating one or more content surfing sequences. One content surfingsequence includes storing one or more frames of the next content to bedisplayed (e.g., the next channel in the direction of surfing) in memory234 and immediately initiating a next content tune. The previouslystored one or more frames may be presented on display device 240 whileconcurrently initiating the next content tune. In some embodiments,control circuitry 230 decodes the one or more frames before storing themto memory. In other embodiments, the one or more frames may be stored inencoded form (if supported by the underlying encoding format).

For example, for digital MPEG-2 streams, the first Intraframe(“I-frame”) may be stored to memory 234. This I-frame may contain allthe information needed to construct a complete frame of video. Foranalog signals, a full field frame may be stored in memory 234. Afterstoring the one or more frames to memory 234, a pipeline tuning sequencemay then be invoked by control circuitry 230. This pipeline tuningsequence may include immediately initiating a next content tune on oneor more of tuners 210 and 212 while concurrently decoding/displaying thepreviously-stored content. After tuning to the next content, controlcircuitry 230 may again store one or more frames from the next contentand immediately initiate a subsequent content tune (e.g., the subsequentchannel in the direction of surfing) while displaying the newly-storedframes. This pipelined tuning process may eliminate or reduce the delaysassociated with content switching because only one or more frames arestored to memory 234 rather than waiting to decode an entire contentstream or signal.

For example, to decode a typical MPEG-2 content stream and begindisplaying it on display device 240, two I-frames are typicallyreceived. Once two I-frames are received, bi-directional predictiveframes (“B-frames”) may be decoded using motion-compensation predictionfrom both a past and future reference. Thus, the decoding delay may be afunction of the time between I-frames in the MPEG-2 content stream. If auser, on average, switches to a new content stream midway during theinterval between two I-frames, the stream display process may not beginuntil at least one and a half I-frame cycles later. Depending on variousfactors, such as the compression used, the I-frames cycle period may beon the order of seconds in some media systems. During this time, displayscreen 240 traditionally remains blank until the new stream can besuccessfully decoded and presented on display device 240.

By implementing a pipeline tuning sequence, if the user equipmentdetermines that a user wishes to content surf, the user may be quicklypresented with one or more frames of content per channel until the userterminates the content surf. Additionally or alternatively, other storedcontent, such as stored video, audio, or advertising, may be displayedwhile the user is content surfing. In this way, the user is presentedwith little or no blank screen time while surfing through content.

If user equipment 200 includes two or more tuners 210 and 212, thesetuners may be involved in a round-robin pipeline tuning process. Forexample, if a user initiates a content surf up from channel 1, tuner 210may briefly tune to channel 2 while control circuitry 230 stores one ormore frames of content from channel 2 to memory. The next tuner in userequipment 200 (e.g., tuner 212) may immediately tune to channel 3, whiletuner 210 tunes to channel 4. As each channel is briefly tuned, only oneor more frames of the content are stored to the user equipment. Afterstoring the one or more frames, control circuitry 230 may immediatelyinitiate a next content tune. While tuning and saving the one or moreframes of the next content, control circuitry 230 may simultaneouslydecode and display, on display device 240, the previously stored contentfrom one or more of tuners 210 and 212.

In some embodiments, tuning may not proceed in a strictly sequentialorder. For example, a fixed or variable number of channels may beskipped (preferably in the direction of surfing) during a content surf.This mode may sometimes be referred to as content “skip mode” herein.Rather than tuning and displaying each channel or content in sequentialorder, one or more of tuners 210 and 212 may tune, decode, and displayevery Nth channel, whereas the value N may be user or system-selected.This process may be combined with the pipeline tuning process describedabove, whereby one or more frames of every Nth channel are saved to theuser equipment and presented to the user, rather than decoding theentire stream. The first three steps of a simplified, illustrativeexample is shown below in Table 1.

TABLE 1 An illustrative pipelined skip mode surfing sequence. StepTune/Acquire Display 1 Tune and save frame(s) of first content 2 Tuneand save frame(s) of Display frame(s) Nth content of first content 3Tune and save frame(s) of Display frame(s) next content (first + N + ofNth content N)th channelIn one embodiment, the value of N may be a function of some userinteraction with the user equipment. For example, the length of time auser presses and holds a channel up or down button on user input device220 may cause the value of N to change (e.g., increase). The number ofrepeated selections of a channel up or down button may also cause thevalue of N to change. For example, if the user continuously orrepeatedly presses a channel up or down button on user input device 220for three seconds, control circuitry 230 may cause a tuner in the userequipment to start tuning to every other content (e.g., N=2). Afterthree more seconds of continuous or repeated pressing, control circuitry230 may increase the value of N and tune to every fifth content (e.g.,N=5), and so on. The number of seconds of repeated selection orcontinuous pressing to effect a change in the value of N may be definedin user preferences or a user profile (as described below in regard toFIG. 6) or by system default parameters. Interruption in the cycle or achange from a continuous press to a repeated selection may change thevalue of N back from 5 to 2, for example. In some embodiments, a switchfrom a continuous press on a channel up or down button on user inputdevice 220 to a repeated selection is detected by control circuitry 230.In these embodiments, control circuitry 230 may enter or exit skip modeas the user changes the type of interaction (e.g., continuous press orrepeated selection) with the user equipment. Note that in the case ofmultiple tuners, in some embodiments pipeline tune skip mode can becombined with multiple tuner pipeline tune features to improveperformance further.

FIG. 3 shows illustrative display screen 300 displaying mini-guide 304during a content surf. In some embodiments, pipeline tuning (andpipeline tuning in skip mode) may be enhanced with a media guidanceapplication content listing technique. When the interactive mediaguidance application detects that a user is interested in contentsurfing, the media guidance application may initiate a pipeline tuningsequence. As described above, while content surfing the controlcircuitry may display one or more stored frames of content(sequentially) in content area 302 concurrently with tuning to the nextcontent. This process may be repeated for subsequent content (e.g., thenext channel in the direction of the content surf). In some embodiments,during a content surf, a grid or table of content listings may bedisplayed in the flip bar area of display screen 300. This grid or tablemay be in presented in the form of a mini-guide, such as mini-guide 304.The content listings in mini-guide 304 may include listings associatedwith content ahead of the user's current progress in the content surf,so that the user may anticipate upcoming content.

In some embodiments, the interactive media guidance application mayautomatically scroll or update the listings in mini-guide 304 based onthe user's progress in the content surf. For example, in FIG. 3, one ormore frames from channel 23 may be presented in content area 302 whilecontent listings for channels 24 through 28 are displayed in mini-guide304. In some embodiments, after the user remains in surfing mode forsome user or system-specified length of time, mini-guide 304 may includeinformation further ahead of the user's progress in the content surf(e.g., channels 50-55) in order to anticipate the user's surfinginterests or ultimate landing channel.

Mini-guide 304 may be useful when the interactive media guidanceapplication determines that the user may be interested in moving quicklyup or down through the content selections to see what is currently beingpresented on each channel, but the user is either unaware or notinterested in switching to the sequence that would enter the fullcontent guide grid associated with the interactive media guidanceapplication. When a user sees a listing of interest in mini-guide 304ahead of the content surf, the user may terminate the content surfrequest at the desired position in the surf. Alternatively, the user mayinput a channel number displayed in mini-guide 304 to automaticallyterminate the content surf and be presented with the desired content.

In some embodiments, while surfing through available content, displayscreen 300 may include content bar 306. Content bar 306 may include anysuitable program information, such as the current channel number (e.g,“23”), channel name (e.g., “FOX”), time, and content name. For example,the information in content bar 306 may related to content from channel23 while the tuner is simultaneously acquiring and saving one or moreframes of content from channel 24 (or channel 23+N, in skip mode). Thus,the information displayed in content bar 306 may correspond to the oneor more frames of video currently being displayed in content area 302(and not the content currently being tuned).

In some embodiments, while a user is surfing through content, mini-guide304 and/or content area 302 may change from a graphical view to adisplay that conveys or emulates a quick channel up or channel downprocess. For instance, if the control circuitry determines that the userwants to surf quickly in one direction, the tuning process may beeffectively bypassed and the display in content area 302 may be replacedby a graphical display that shows a quick scrolling through content orchannels. The graphical display may include, for example, a blurredimage that is synthesized to appear like a fast tuning process (e.g., ½second clips of pre-stored, low-resolution content in a circularbuffer). This pre-stored buffer may be displayed and the information incontent bar 306 may continue to be updated to reflect the user'sprogress in a simulated tuning sequence. When the user terminates thecontent surf, the pre-stored buffer displayed in content area 302 may bereplaced with content associated with a landing channel of the surf.

In some embodiments, predictive tuning may be employed. The content surflanding channel (i.e., the content the display ultimately settles on)may be anticipated by the control circuitry or the interactive mediaguidance application. If the landing channel is anticipated, the channelmay be tuned in advance so that when the user terminates the contentsurf (e.g., when the user releases the channel up or channel downbutton), an effective “fast tune” may be accomplished. For example, ifthe control circuitry anticipates that a user's landing channel will bechannel “27 MTV,” this channel may be tuned in advance (perhaps at thestart of a content surf) while the display shows buffered video from thelast channel or an emulation of a fast surf. If the anticipated landingchannel is not exactly the channel the user has stopped on, but withinsome user or system-specified range (e.g., five channels), the controlcircuitry may display the anticipated channel anyway. The user may thenchannel up and down from the landing channel to the desired channel, asusual.

Channels may be anticipated based on a variety of factors. For example,user history data may be tracked and logged to the user equipment or anetwork location. From this history data, the control circuitry (or aninteractive application running on the control circuitry) may build atable of the most frequently-tuned channels and content and the durationof time the content was displayed on the user equipment. From thisinformation it can derive appropriate landing channels. As anotherexample, anticipated landing channels and content may include channelsand content added to one or more favorites lists or user profiles, suchas the user profile described in more detail below in regard to FIG. 6.

In some embodiments, hints may be presented to the user while contentsurfing. For example, as shown in FIG. 4, display screen 400 may showhint 402 to the user. This embodiment may be helpful in teaching theuser how to effectively use the interactive media guidance applicationby providing guidance suggestions. These suggestions may include anysuitable instruction related to content changing, content surfing, waysto find content quicker, details of the search system operation, or theuse of an interactive media guidance application. As shown in theexample of FIG. 4, hint 402 may include “to see a list of the channelsand programs, simply press the GUIDE button” and other similarsuggestions. To view more hints, the user may select “more hints”selection 404 using any available input device. Alternatively oradditionally, hints may be automatically displayed by pressing asuitable button while content surfing (e.g., a “hints” button) on a userinput device.

In some embodiments, the interactive media guidance application may alsopresent a content selection menu or overlay to the user while contentsurfing. For example, FIG. 5 shows display screen 500 with contentselection overlay 502. After the interactive media guidance applicationdetermines that the user has been content surfing for some user orsystem-specified length of time, content selection overlay 502 may bedisplayed to the user. Content selection overlay 502 may ask the user toenter a channel number. Content selection overlay 502 may not interferewith the content surfing sequence, but merely provide an alternativemethod for accessing the content that the user wishes to access. Contentselection overlay 502 may include channel entry area 504. The user mayenter a channel number into channel entry 504 using any available inputdevice, including input device 108 (FIG. 1). Upon entering a validchannel number, the user equipment may tune directly to the selectedchannel.

The interactive media guidance application may also provide contentsuggestions. Whereas content selection menus and overlays merely providethe user an alternate method for accessing content, content suggestionsprovide tailored listings of content that the user equipment determinesthat the user may be interested in watching. Content suggestions arebased, at least in part, on user preferences, user profile data, userbehavior (including recent surfing or scanning behavior, as well asdwell time and surf interaction responses to content previously surfed),or user history. As used herein, “user profile data” explicitly includesuser preferences, user behavior data, and user history data. Forexample, FIG. 6 shows an illustrative favorite channels display screenand FIG. 7 shows an illustrative user profile display screen. Both ofthese display screens may create and/or update user profile data, whichmay be saved to the user equipment (or a network location such ascontent source 130 of FIG. 1) and used to suggest content to the user.Each user accessing the user equipment may have a personal favoritechannels list and/or user profile, or there may be a single favoritechannels list and/or user profile list for all users accessing the userequipment.

Favorite channels display screen 600 may include at least list name 602and favorite channels list 604. If multiple favorite channels lists areused in a single system, each list may be given a unique identifier(e.g., name) for list name 602. A user may add and remove channels tofavorite channels list 604 in a variety of ways. For example, the usermay press a “Favorites” button on user input device 220 (FIG. 2) toautomatically add the channel currently being presented on displaydevice 240 to favorite channels list 604. Users may also add channelsdirectly from favorite channels display screen 600, if desired. To add anew favorite channel directly from favorite channels display screen 600,the interactive media guidance application may present a listing ofavailable channels to the user (not shown). This listing may be derived,at least in part, from interactive media guidance application data. Theuser may select any channel from the listing of available channels andpress a “Favorites” button on user input device 220 (FIG. 2).

For ease of navigation, favorite channels list 604 may be sorted bychannel name or channel number. Upon selecting sort option 606, the sortorder may be toggled. To remove channels from favorite channels list604, the user may select delete button 608 while selecting an entry infavorite channels list 604. In some embodiments, the channels infavorite channels list 604 may be pre-populated with the user's mostfrequently or recently accessed channels. The user may then customizethe list using favorite channels display screen 600, if desired.

Upon selecting accept changes button 610, the interactive media guidanceapplication may create or update the user's favorite channels infavorite channels list 604 to memory 234 (FIG. 2). The channels list maybe saved in any convenient manner, such as, for example, as a file or atable in a relational database. If the user equipment supports multiplefavorite channel lists, then the list may also be associated with thecurrent user.

To further customize a user's content preferences, the user may createor update a user profile. As shown in FIG. 7, user profiles may includeuser content preferences, such as, for example, favorite programs list702 and favorite genre list 704. A user may be presented with userprofile creation display screen 700 in number of ways. For example, auser may press a suitable button on input device 220 of FIG. 2 (e.g., a“Profiles” button). A user may also be linked to user profile displayscreen 700 from another interactive application display screen.

The user may add, remove, or reorder any of the entries in lists 702 and704. In favorite programs list 702, the user may define a list of theuser's favorite programs accessible by the user equipment. Uponselecting add another link 703, interactive media guidance applicationdata may be accessed to present a list of all available content (e.g.,broadcast television programs, on-demand content, and recorded content)to the user (not shown). The user may then select the user's favoriteprograms for inclusion into favorite programs list 702. In someembodiments, favorite programs list 702 may be pre-populated with theuser's most frequently or recently accessed programs.

Similarly, the user may add, remove, or reorder content genres infavorite genre list 704. The list of genres in favorite genre list 704may also be pre-populated with the genres of the user's most frequentlyor recently accessed content. In the example of FIG. 7, the genres“music,” “crime,” “sports,” and “drama” are included in the user'sfavorite genre list. To add another genre, the user may select addanother link 706. Upon selecting add another link 706, the interactivemedia guidance application may link to interactive media guidanceapplication data to present a list of available genres (not shown) tothe user. The user may select one or more genres in the list forinclusion in favorite genres list 704. In some embodiments, in order todetermine the genre of content, the interactive media guidanceapplication may access extended content information from a suitable datasource (e.g., data source 142 of FIG. 1). In other embodiments, genreinformation may be available as part of standard interactive mediaguidance application data.

Some genres may be associated with genre details used to further definethe genre. For example, if the sports genre is added to favorite genrelist 704, the user may additionally select to set up genre details byselecting details link 705. Upon selecting details link 705 genre detaildisplay screen 800 (FIG. 8) may be presented to the user.

The lists in profile display screen 700 may be ordered or unordered. Ifthe user desires to create an unordered list, each entry in the list maybe assigned the same weight, or rank. If one or more of the lists isordered, then weights may be assigned to each entry in the list based onits placement in the list. For example, a program listed in the firstslot in favorite programs list 702 may be assigned a higher weight, orrank, than programs in lower slots in favorite programs list 702. Inthis way, a user may prioritize content within the same list.

To discard profile display screen without saving changes, the user mayselect cancel button 710. To accept the changes as displayed in userprofile display screen 700, the user may select accept changes button714. Upon selecting accept changes button 714, the user's profile datamay be created or updated. In some embodiments, user profile data isupdated and stored in memory (e.g., in a file or table in a relationaldatabase in memory 234 of FIG. 2) on the user equipment. In otherembodiments, user profile data is stored in memory at a network location(e.g., at content source 132 or data sources 140, both of FIG. 1).Profile data may be retrieved from the network location and cached tothe local user equipment upon logging into the user equipment, ifdesired.

The user may also select other criteria to include in the user'sprofile. Upon selecting other criteria button 712, a user may bepresented with a list of optional profile criteria (not shown). Optionalprofile criteria may include other content attributes, such as ratingsinformation, artist/actor information, director information, or anyother suitable content information. For example, a user may prefer R andPG-13-rated content over G and PG-rated content. By adding “R” and“PG-13” to a favorite ratings list (similar to lists 702 and 704), auser may associate one or more preferred ratings with the user'sprofile. Similarly, other suitable information may be stored in theuser's profile. For example, if the user loves the actor Tom Cruise, butdislikes the actor Jim Carey, a user may add Tom Cruise and Jim Carey toa favorite actors list and a least favorite actors list, respectively.Actor, artist, and director names may be retrieved from a suitablecontent or data source (e.g., content source 142 of FIG. 1).

The control circuitry may access the user profile data associated withuser profile display 700 at any suitable time. For example, the controlcircuitry may read a user's profile data in anticipating a content surflanding channel. In determining which channels may be anticipatedlanding channels, the channel as well as the content currently bepresented on the channel may be used to calculate an anticipation scorefor each channel (or a subset of channels), as described in more detailbelow. For example, if one of the user's favorite programs listed infavorite programs list 702 is being presented on channel 100, and theuser is surfing up toward channel 100, the system may anticipate alanding channel of 100 (even if the actual landing channel was not 100).

To determine which channel or channels may be anticipated landingchannels, an interactive application (such as an interactive mediaguidance application) may compute a weighted anticipation score forchannels based on, at least in part, the user's profile data and thecontent currently being presented on the channel. This anticipationscore may reflect how likely the user is to stop on that channel. Forexample, based on user profile data, anticipation scores of 22, 26, 31,35, and 50 may be assigned to channels 21 through 25. Channel 25 maycorrespond to HBOE, which happens to be showing the Sopranos, the user'sfavorite program listed in favorite programs list 702. If channel 26(HBOE) is also in the user's favorite channels list, this channel may beassociated with a higher anticipation score than channels not showingone of the user's favorite programs (and not listed in the user'sfavorite channels list). This channel may be therefore classified as ananticipated landing channel for a given channel range. In oneembodiment, anticipation scores may be assigned to channels using theequation:

$\begin{matrix}{{AS} = {\sum\limits_{i = 1}^{N}\; {w_{i}p_{i}}}} & \left( {{EQ}\mspace{14mu} 1} \right)\end{matrix}$

where N is the number of profile attributes used in the anticipationscore (AS) calculation, w_(i) is the weight (or rank) within the profileattribute, and p_(i) represents the value of the profile attribute tothe user. For example, if the user assigns a value of 10 to the favoriteprogram profile attribute (i.e., p_(i)=10), then weights (w_(i)) may beassigned to the content within favorite programs list 702, depending onthe content's position in the list. For example, a weight of 1 may beassigned to the first (favorite) entry in the list, a weight of 0.9 tothe next (next favorite) entry in the list, etc. Therefore, if Sopranosis showing on a channel, that channel may receive 10 favorite programpoints, while a channel showing CSI-Miami may receive 9 favorite programpoints. The total anticipation score may be the sum of all the pointsderived from profile attributes currently in the user's profile.

Anticipation scores may also be derived, at least in part, from userhistory information or past interaction with the user equipment. Theinteractive media guidance application may store recent user historyinformation in memory 234 (FIG. 2). This user history information maythen be used to augment a channel's anticipation score. For example,content on channels that the user has previously paused on during arecent content surf may be credited anticipation score points based on,for example, the duration of the user's pause on that content orchannel. Anticipation score points may also be credited based on othercriteria. Channels showing content that the user has recently watched,or obtained more information on (e.g., the user recently accessed thecontent's description or program information), may be credited withanticipation score points. Channels showing content that the user hasadded to one or more “watch lists” or set one or more notificationalerts for may also be credited with anticipation score points, ifdesired. Finally, channels showing content that the user has recentlyrecorded (or set a recording reminder for) may also be credited withanticipation score points. In this way, a channel's total anticipationscore may be based on user profile data and user history information.

In some embodiments, anticipation scores may be dynamically adjustedduring a content surf. For example, a channel's anticipation score mayalso be a function of the user's current distance from the channel in acontent surf. For example, even though channel 25 may be associated withan anticipation score of 50, this channel may not be the user's desiredlanding channel depending on how far away from channel 25 the user is atthe conclusion of a content surf. Accordingly, anticipation scores maybe dynamically adjusted as the user's surf progresses. The anticipationscore associated with channel 25 may decrease as the user surfs fartheraway from channel 25 and increase as the user surfs closer to channel25. In some embodiments, the rate of decrease (i.e., penalty) orincrease (i.e., benefit) may be linear or quadratic and may be set bythe user, if desired.

In addition, in some embodiments, a maximum channel range may beassociated with each anticipation score. If the user surfs beyond themaximum channel range, the anticipated landing channel may be removedfrom the list of possible anticipated landing channels (e.g., theanticipation score may be reduced to 0). The maximum channel range maybe fixed for all anticipation scores or a function of the value of theanticipation score. Thus, higher anticipation scores may be associatedwith larger maximum channel ranges than lower anticipation scores. Inthe example above, the channel associated with the anticipation score of50 may be assigned a maximum channel range of 20, while the channelassociated with the anticipation score of 22 may be assigned a maximumchannel range of 5.

If genre details are enabled, the interactive media guidance applicationmay also use any genre details in the user's profile to calculateanticipation scores. For example, as shown in FIG. 8, genre detailsdisplay screen 800 may include more information about a particular genreincluded in the user's favorite genre list. The example of FIG. 8displays a sports genre detail display screen. However, other genredetails may be provided. For example, a music genre display screen (notshown) may allow the user to define a favorite musical artist, musicvideo choreographer, or any other suitable information. This informationmay be saved with the user's profile.

Genre details display screen 800 may include common details for thesports genre. In favorite sport selection 802, the user may define oneor more favorite sports. In favorite team selection 804, the user maydefine one or more favorite teams. In favorite player selections 806 and808, the user may define one or more favorite players. In someembodiments, favorite player selections 806 and 808 list the playersassociated with the team selected in favorite team selection 804. Inother embodiments, all players, regardless of what team they are on, arelisted in favorite player selections 806 and 808. The user may addadditional players (from the same or different teams) by selecting addplayer link 810.

In order to populate the selections in display screen 800, includingfavorite sport selection 802, favorite team selection 804, and favoriteplayer selections 806 and 808, the interactive media guidanceapplication may access up-to-date team roster information from asuitable genre detail data source (e.g., data source 142 of FIG. 1). Theinteractive media guidance application may then use the user selectionsin genre details display screen 800 to augment the user's profile data.Similar to the selections in user profile display screen 700 (FIG. 7),weights may be assigned to the selections in genre details displayscreen 800. These weights may then be used by the interactive mediaguidance application to calculate channel anticipation scores usingEQ. 1. A channel's anticipation score may be indicative of howinterested the user would be in accessing the content on the channel.

Anticipation scores may also be used to suggest content to the user. Insome embodiments, as the user content surfs, suggestions of content thatmay be of interest to the user (and are currently or shortly accessibleby the user equipment) are presented to the user. Content of interestmay include content on channels with high anticipation scores. Forexample, if the user is a CSI fan (based on prior profiling, such as theinclusion of CSI in favorite programs list 702 (FIG. 7)), theinteractive media guidance application may consult a category or genredatabase that looks for any accessible content that is in the samecategory or genre as CSI. Currently accessible content may includeprograms, movies, and sporting events that are currently being broadcaston one or channels, starting within some user or system-defined time(e.g., 30 minutes), content available on-demand, and content availableon one or more of the user's attached recording devices (such asrecording device 260). A listing of content of interest may be presentedin a non-obtrusive manner to the user, such as quick menu 902 of FIG. 9(described in more detail below).

In the example of FIG. 8, the user has selected “baseball” as the user'sfavorite sport and “New York Yankees” as the user's favorite team.Therefore, if a user initiates a content surf while a New York Yankeesbaseball game is currently accessible (or about to be accessible, forexample, on the YES network), the interactive media guidance applicationmay add a link to this game in a content suggestions menu. Interactivemedia guidance application data from a suitable data source may be usedto determine which channels are currently presenting content matchingthe genre detail.

As shown in FIG. 9, display screen 900 may include a content suggestionsmenu, such as quick menu 902. In some embodiments, quick menu 902 ispresented after the user has been content surfing for a user orsystem-specified period of time. The presentation of quick menu 902 maynot interfere with the content surf. Thus, the user may be allowed tocontinue surfing to new channels or content while quick menu 902 isdisplayed. Quick menu 902 may include one or more quick dial contentlistings of interest, each associated with a quick dial number and,optionally, a status indicator. Status indicators may include “new,”“repeat,” the source of the content (e.g., “VOD” or “DVR”), or any othersuitable information. The user may enter any quick dial number displayedin quick menu 902 and be tuned directly to the content associated withthe quick dial number. Quick dial numbers may be entered into quick dialentry 904. Alternatively, the actual channel numbers associated with thecontent displayed in quick menu 902 may be used as the content's quickdial number and entered into quick dial entry 904. In some embodiments,quick menu 902 may time out after the user pauses his surfing for aspecified period of time.

In some embodiments, when a user presses a quick dial number on a userinput device while quick menu 902 is displayed, more information aboutthe program corresponding to the quick dial number is displayed in flipbar area 906. For example, the content start and end time (ifapplicable), the content rating, a content description, or any othersuitable information may be presented to the user.

In one or more embodiments, programs may be promoted or advertised inquick menu 902. For example, the programs suggested in quick menu 902may be determined, at least in part, as a function of those programsthat the cable or multiple service operator (MSO) wants to promote. Thepromotion may be part of a business model wherein the operator collectsadditional fees or revenue from the associated networks based on adesired level of promotion. For example, the FOX network may wish toaggressively promote one or more new television series. These series maybe displayed higher (or otherwise more prominently) in quick menu 902 tohelp increase visibility (and user selection). Additionally, somegraphic or other attention-grabbing icon or indicator may be displayednext to the content name, if desired. For example, a thumbnail icon ofthe content or a star icon may be positioned next to the content name inquick menu 902.

In some embodiments, quick menu 902 may also be combined with skip mode.For example, rather than present a still frame or video as a user surfsthrough content, the control circuitry (or interactive media guidanceapplication) may determine in advance content of interest to the user inthe forward direction of the content surf. The skip value (i.e., thevalue of N as described above) may be dynamically adjusted to skip tothe next channel or content of interest. For example, assuming thatbased on the user's profile data (e.g., favorite genres list 704 of FIG.7) the user is interested in the sports and music genres, then the valueof N could be adjusted dynamically so that only sports and musicchannels (or channels currently presenting sports or music content) aretuned. For example, if the channels MTV and VH1 correspond to channels44 and 45, respectively, and the channels ESPN and CBS (which happens tobe airing a basketball game at the time of surfing) correspond tochannels 81 and 123, respectively, the channel skip value may beadjusted to land on these channels. So, for example, if the user thenstarts to surf down from channel 150, rather than presenting a stillframe of video, the control circuitry may pipeline tune to channels 123,81, 45, and 44.

In addition to using profile data to dynamically adjust the value of N,information associated with the content being presented on the userequipment just prior to the content surf may be used. For example, ifthe user was watching a basketball game prior to initiating a surf, thenthe sports genre may automatically be added to the search criteria.Additionally or alternatively, the sports genre detail may beautomatically created to add basketball to the user's favorite sport infavorite sport list 802 (FIG. 8). In this way, a user may quickly tuneto other similar assets accessible by the user equipment withoutnavigating to the full interactive media guidance grid.

In some embodiments, while the user is content surfing, locally storedtext or graphic advertisements may be overlaid on the screen. Theseadvertisement overlays may be presented by themselves or in combinationwith the hints or content suggestions, described above. In someembodiments, advertisements may replace parts of flip bar area 906. Inother embodiments, the advertisements may be shown in the main displaywindow while the user content surfs. While advertisements are beingdisplayed, the user may retrieve one or more pages of additionalinformation related to the advertisement by selecting an “Info” buttonon user input device 220 (FIG. 2). Links to order entry forms andpurchase information may also be provided.

For example, a hyperlink to a webpage may be included in flip bar area906. If the user is interested in obtaining more information about theadvertisement, the user may select the hyperlink and directly accessadditional information. The user may also press a “Save” button on userinput device 220 to cache a copy of advertisements of interest to theuser's personal space (e.g., the user's personal directory) on the userequipment. This way, the user may view the advertisement at a later timein more detail. Alternatively or additionally, upon pressing the “Save”button while an advertisement is being displayed, the user equipment mayautomatically record a video related to the advertisement to memory 234(FIG. 2). The user may then access the video at a later time.

In combination with one or more of the previous embodiments, audio,either associated with specific programs of interest that areskip-tuned, audio that is used to train or provide hints of programs ofinterest to the user based on the user's profile, or audio associatedwith advertisements that have been locally stored, may be played whilecontent surfing. The audio may include digital music selections andcompilations (e.g., in MP3 format). In addition, the audio may includeuser audio selections that the user has transferred to the userequipment (or an attached storage or recording device). For example,digital audio clips from a digital audio player may be transferred tothe user equipment and custom audio may be played. As another example,instead of transferring the audio content to the user equipment, thecontent may be played or streamed directly from an attached (or coupled)digital audio device or player.

Since a user may pause briefly on multiple channels or content during acontent surf, in some embodiments, a visual representation of where theuser has paused may be presented to the user. As shown in FIG. 10, thisvisual representation may include a thumbnail window of each recentlypaused on channel or content during the current content surf. Thumbnailwindows 1002, 1004, and 1006 may represent the user's last three pausedon channels or content. In the example of FIG. 10, this contentcorresponds to channel 100, channel 231, and channel 234. Thumbnailwindows 1002, 1004, and 1006 may include one or more still frames, stillgraphics, animated graphics (e.g., animated gifs) or video loops of thepaused on content. The still frames or graphics may be the same one ormore frames stored in memory on the user equipment while implementingthe pipeline tuning sequence or even a video loop created from thestored frames.

In creating thumbnail windows 1002, 1004, and 1006, graphics circuitry250 (FIG. 2) may reduce the native size or resolution of any of thetuner inputs (or other content, such as one or more frames of videostored on the user equipment), and present this scaled output on displayscreen 1000. The user may then enter a channel number (or quick dialnumber) associated with the thumbnail window or select the thumbnailitself to terminate the surf and tune to the associated channel orcontent. In some embodiments, to save memory, the frames are resolutionreduced and then recompressed using an alternative high compressionalgorithm (e.g., MPEG-4 part 10) and then decompressed and displayed onthe fly concurrently with the other “previously accessed” contentwindows. In some embodiments, the visual representation of the user'smost recently paused on channels or content may not interfere with theuser's content surf. Thumbnail windows 1002, 1004, and 1006 may bepresented in a grid with or without brief descriptions of each thumbnail(e.g., the name of the content, the associated channel number, the quickdial number, or any other suitable information).

In some embodiments, rather than displaying a frozen image or frame ofthe most recently paused on content, while a user is content surfing thetuner may persist on the most recently paused on content, tuning to thenext content or channel only when the user next pauses the surf. Inthese embodiments, live video corresponding to the previously tuned (orpaused on) content may be presented in the background as the user surfsand until the user pauses again. If more than one tuner is available inthe user equipment, the last N previously tuned content or channels maybe displayed in live video. Display screen 1000 may include someindication that the video presently being displayed is previously tunedcontent. For example, the video may be reduced in size, brightness, orresolution. Additionally or alternatively, flip bar area 1010 maycontinue to be updated as the user's content surf progresses while thepreviously tuned video is displayed in thumbnail windows 1002, 1004, and1006.

As shown in the example of FIG. 10, the user may have paused on channel100, channel 231, and channel 234. The user may be currently paused onchannel 237, which is reflected by the information in flip bar area1010. Recently tuned menu 1008 may display a listing of the content orchannels the user has previously paused on, along with the channel orquick dial number associated with the content. The user may enter thevirtual channel or quick dial number into menu entry 1012 or select oneof thumbnail windows 1002, 1004, and 1006 to terminate the surf and betuned directly to the appropriate content. After some timeout period,both recently tuned menu 1008 as well as thumbnail windows 1002, 1004,and 1006 may disappear (optionally to be presented again, if desired, inthe future) and the user may be returned to full screen video mode (withor without flip bar 1010, having its own timeout).

In some embodiments, instead of showing recently paused on content inthumbnail windows 1002, 1004, and 1006, these windows may presentcontent suggestions or content of interest to the user. Theseembodiments may be considered a visual version of quick menu 902 (FIG.9) where the suggested content is displayed as a video loop or one ormore still frames instead of in a suggestion menu. Thumbnail windows1002, 1004, and 1006 may be populated in the direction of the contentsurf, as the user surfs past a suggested channel, or in advance orreaching a suggested channel. In some embodiments, the thumbnails mayadditionally or alternatively include jacket art associated with thesuggested content, if such jacket art is available from a suitable dataor content source (e.g., content source 130 or data source 142 of FIG.1).

FIG. 11 shows illustrative display screen 1100 in which a user hasinitiated a content surf in accordance with one embodiment of theinvention. Upon initiating a content surf, the content the user waswatching before the surf was initiated may change to reflect that thecontent is now historical (though it may still be tuned and playinglive). For example, in thumbnail window 1102 the Sopranos on channel 100has been moved to small thumbnail window 1102, but continues to play.Main video window 1108 may emulate a fast surfing or tuning action.Recently tuned menu 1104, which may include recently tuned menu entry1106, may be populated with an entry for each recently tuned content orchannel during the current content surf. The video from channel 100 maybe displayed until the user pauses the content surf on a new channel orcontent, at which time main video window 1108 may fill with video fromthe newly paused on channel (e.g., channel 231). While the video isbeing acquired, content tuning message 1110 may be displayed to theuser. This message may indicate to the user that main video window 1108will present the newly paused on channel shortly. In one tuner systems,thumbnail window 1102 may then freeze since the user is tuned away. Inmultiple tuner systems, thumbnail window 1102 may continue to displayfull motion video. If the user starts to surf again within a user orsystem-selected time period, the motion video window from channel 231may move into position in a thumbnail size under thumbnail window 1102and continue playing until the user again pauses, at which time it mayalso freeze. This process may continue until the user exits orterminates the content surf (e.g., by pressing a “cancel” button on auser input device or waiting a user or system-specified surf timeoutperiod).

In systems with more than one tuner, the tuners may be used in around-robin fashion so that a number of most recently tuned (or pausedon) channels up to the number of tuners present in the user equipmentare displayed simultaneously in full motion video. For example, indisplay screen 1000 (FIG. 10), tuners 1 through 3 may be tuned torecently tuned channels 100, 231, and 234, which are displayed inthumbnail windows 1002, 1004, and 1006, respectively, in full motionvideo. A fourth tuner may be tuned to the currently paused on channel(e.g., virtual channel 237), which may appear in the large main videowindow. In this way, each tuner may be displaying motion video asopposed to one or more frames or a pre-stored video clip. If only threetuners are available, either the number of recently viewed windows maybe reduced or the oldest of the recently viewed windows can be filledwith a still or graphic as described earlier.

FIG. 12 shows illustrative process 1200 for detecting a content surf. Asdescribed above, content surfs may be initiated in a number of ways. Atstep 1202, the user may tune to a first content selection in a series ofcontent selections. For example, the user may tune to a broadcasttelevision or on-demand channel. The user may also access a contentselection stored on an attached recording device, such as recordingdevice 260 (FIG. 2). At decision 1204, control circuitry 230 (FIG. 2)may determine if an explicit content surf input has been received. Anexplicit content surf may include a user selection of a “content surfup” or “content surf down” button on user input device 220 (FIG. 2), forexample. If the control circuitry does not detect an explicit contentsurf request at decision 1204, the control circuitry may determine ifthe user has repeatedly requested a content tune at decision 1206. Forexample, the user may repeatedly press a traditional channel up orchannel down button on user input device 220 (FIG. 2) for asystem-defined threshold period of time. For example, after repeatedlypressing a traditional channel up or channel down button for 10 seconds,control circuitry 230 (FIG. 2) may determine that a content surf wasrequested at decision 1206. If the control circuitry does not detect arepeated content tune, at decision 1208 control circuitry 230 (FIG. 2)may determine if a continuous content tune request has been received. Acontinuous content tune request may include, for example, pressing (andholding) a traditional channel up or channel down button on user inputdevice 220 (FIG. 2) for a system-defined threshold period of time.

If, at decision 1208, it is determined that the control circuitry hasnot received a continuous content tune request, control circuitry 230(FIG. 2) may initiate a traditional content tune at step 1210. If, onthe other hand, the control circuitry detects any of the eventsassociated with decisions 1204, 1206, and 1208, the control circuitrymay initiate a content surf at step 1212.

In practice, one or more steps shown in process 1200 may be combinedwith other steps, performed in any suitable order, performed in parallel(e.g., simultaneously or substantially simultaneously), or skipped. Forexample, decisions 1204, 1206, and 1208 may be performed simultaneously,or combined into a single decision.

FIG. 13 shows illustrative process 1300 for content surfing. After acontent surf request has been detected, control circuitry 230 (FIG. 2)may direct a tuner (e.g., tuner 210 of FIG. 2) to tune to the next(e.g., the second) content selection in the series at step 1302. Thenext content selection in the series may include the next availablechannel in the direction of the content surf. For example, if a user iscontent surfing up from channel 24 ABC, tuner 210 (FIG. 2) may tune tochannel 25 NBC. As another example, if a user is currently accessingcontent from an attached recording device (e.g., on recording device 260(FIG. 2)), the next content selection may include, for example, the nextcontent in alphabetical order (by file name or content name) or thecontent stored in the next physical location on the recording device.

After the second content selection has been tuned at step 1302, one ormore frames of the second content may be buffered at step 1304.Buffering frames of content may include caching or saving these framesto memory 234 (FIG. 2). After buffering the one or more frames ofcontent at step 1304, control circuitry 230 (FIG. 2) may direct tuner210 (FIG. 2) to tune to the third content in the series, at step 1306,while the one or more buffered frames of the second content aresimultaneously displayed on display device 240 (FIG. 2). At decision1308, the control circuitry may determine if the user has terminated thesurf request. If so, the buffered frames may be discarded and thelanding content of the surf may be presented to the user at step 1310.

If, at decision 1308, the control circuitry still detects a channel surfrequest, the channel surfing process may return to step 1304. Thecontrol circuitry may then buffer one or more frames of the next (e.g.,third) content. This process may continue until the content surf isterminated.

In practice, one or more steps shown in process 1300 may be combinedwith other steps, performed in any suitable order, performed in parallel(e.g., simultaneously or substantially simultaneously), or skipped.

FIG. 14 shows illustrative process 1400 for selecting an anticipatedlanding channel of a content surf. At step 1402, a content surf requestmay be received. For example, the user may have selected to content surfusing user input device 220 (FIG. 2). At step 1404, user history datamay be read from memory 234 (FIG. 2). For example, user history mayinclude content or channels that the user has recently paused on,watched, ordered (e.g., via an on-demand or pay-per-view (PPV) orderingprocess), recorded, set an alert for, or any other suitable userinteraction with the user equipment. At decision 1406, the controlcircuitry may determine if user profile data is available. The controlcircuitry may determine if user profile data is available by searching aprofile directory in memory 234 (FIG. 2) for a user profile data file,for example. If profile data is available, the profile data is read atstep 1408. For example, the user may have created favorite channel datausing favorite channels display screen 600 (FIG. 6) or favorite genre orprogram data using user profile display screen 700 (FIG. 7).

After reading the user profile data at step 1408, or if no user profiledata is available, anticipation scores may be calculated for a subset ofthe currently accessible channels at step 1410. The subset of channelsmay include channels within a predefined number of channels from theuser's actual landing channel. For example, if the user actually issuedthe surf termination request at channel 210, anticipation scores may becalculated for channel within 10 channels of channel 210 (e.g., channels200 through 220). Alternatively, anticipation scores may be calculatedfor all channels, if desired. Anticipation scores may be calculatedusing EQ 1. At step 1412, a landing channel may be tuned and displayedon display device 240 (FIG. 2) based on the anticipation scorescalculate at step 1410. In some embodiments, this landing channel may betuned and decoded in advance. For example, the channel with the greatestanticipation score may be presented to the user at step 1412, eventhough that channel was not the user's actual landing channel.

In practice, one or more steps shown in process 1400 may be combinedwith other steps, performed in any suitable order, performed in parallel(e.g., simultaneously or substantially simultaneously), or skipped. Forexample, user history data and user profile data may be stored as asingle data source in memory 234 (FIG. 2). Steps 1404 and 1408 may thenbe combined into a single step, if desired.

FIG. 15 show illustrative process 1500 for preparing to present contentsuggestions to a user. At step 1502, the user may tune to new content.For example, the user may input, using user input device 220 (FIG. 2), anew channel number. Control circuitry 230 (FIG. 2) may receive thechannel input from the user input device and direct tuner 210 (FIG. 2)to tune to the appropriate channel. The control circuitry may thendisplay the tuned content on display device 240 (FIG. 2). At decision1504, the control circuitry may determine if the user is requesting acontent surf. For example, process 1200 (FIG. 12) may be used todetermine if the user has requested a content surf. At step 1506, userhistory data may be read from memory 234 (FIG. 2). As previouslydescribed, user history data may include any recent user interactionwith the user equipment.

At decision 1508, the control circuitry may determine if user profiledata is available. The control circuitry may determine if user profiledata is available by searching a profile directory in memory 234 (FIG.2) for a user profile data file, for example. If user profile data isavailable, at step 1510, the user profile data may be read. After theuser profile data has been read, or if no user profile data exists,control circuitry 230 (FIG. 2) may determine, at decision 1512, if theuser's current content surf has exceeded some threshold surf timeperiod. For example, if the current content surf has persisted for more10 seconds, illustrative process 1500 may continue in FIG. 16 bypresenting a content suggestions menu. If the control circuitrydetermines that the current content surf user has not exceeded the surfthreshold time period, the surf may continue.

In practice, one or more steps shown in process 1500 may be combinedwith other steps, performed in any suitable order, performed in parallel(e.g., simultaneously or substantially simultaneously), or skipped.

FIG. 16 shows illustrative process 1600 for presenting a contentsuggestion menu to the user. At step 1602, the media guidanceapplication data may be accessed. For example, media guidanceapplication data may include, for example, channel listings information,content descriptions, genre information, actor information, ratingsinformation, director information, or any other suitable informationassociated with content currently accessible by user equipment 200 (FIG.2) or available in the near future. For example, in one embodiment,control circuitry 230 (FIG. 2) may analyze media guidance applicationdata associated with broadcast television content currently beingbroadcast or about to be broadcast within the next 30 minutes. Asanother example, media guidance application data associated withon-demand and recorded content may be accessed at step 1602.

At step 1604, the interactive media guidance application may locatecontent of particular interest to the user based, at least in part, onthe user profile and/or user history data read at steps 1510 and 1506(FIG. 15), respectively. Content may be located on any accessiblechannel or on an attached storage device (e.g., recording device 260(FIG. 2)). Preferably, the interactive media guidance application usesthe anticipation scores calculated in process 1400 of FIG. 14 to locatecontent of interest to the user. For example, while a user is contentsurfing, the interactive media guidance application may calculateanticipation scores and present the content associated with the topanticipation scores in a content suggestion listing at display 1606. Thecontent listings in display 1606 should be of particular interest to theuser, since the content was selected based on user history and userprofile information. In some embodiments, display 1606 may correspond toquick menu 902 (FIG. 9).

The user may then be given an opportunity to select a content listing indisplay 1606. At decision 1608, the interactive media guidanceapplication may determine if the user has selected to view contentlisted in display 1606. The user may select content in display 1606 byentering a quick dial number, a channel number, or highlighting andselecting the content listing itself. The user may interact with display1606 using user input device 220 (FIG. 2). If the user has not selectedto view content listed in display 1606, then the content surf maycontinue at 1610. Thus, display 1606 may not interfere with the currentcontent surf. If the user has selected content from display 1606, thecontent may be presented on display device 240 (FIG. 2) at step 1612.

In practice, one or more steps shown in process 1600 may be combinedwith other steps, performed in any suitable order, performed in parallel(e.g., simultaneously or substantially simultaneously), or skipped.

FIG. 17 shows illustrative process for presenting thumbnail windows ofrecently paused on content during a content surf. At step 1702, the usermay initiate a content surf. The content surf may be detected usingprocess 1200 (FIG. 12). At step 1704, the user may pause the surf on acontent selection. For example, the user may release a channel up ordown button on user input device 220 (FIG. 2). If the uses pauses formore than a threshold period of time at decision 1706, the content surfmay be terminated and the user may be presented with the paused oncontent at step 1714.

If the user continues with the content surf after pausing on a contentselection, the paused on content may be moved to a thumbnail window atstep 1710. For example, the thumbnail window may correspond to thumbnailwindow 1102 (FIG. 11) or thumbnail windows 1002, 1004, or 1006 of FIG.10. At decision 1712, the control circuitry may determine if the userhas requested to terminate the content surf. For example, the user mayterminate a content surf by selecting a thumbnail window, pressing a“cancel” button on user input device 220 (FIG. 2), or letting thetimeout period elapse. If control circuitry 230 (FIG. 2) determines thatthe user still wishes to content surf, the user may continue the surfprocess and pause on one or more content selections. Each paused oncontent selection may be moved to a thumbnail window, as shown in FIG.10.

In practice, one or more steps shown in process 1700 may be combinedwith other steps, performed in any suitable order, performed in parallel(e.g., simultaneously or substantially simultaneously), or skipped.

The above described embodiments of the invention are presented forpurposes of illustration and not of limitation, and the presentinvention is limited only by the claims which follow.

1-38. (canceled)
 39. A method for content surfing on user equipment, themethod comprising: generating a sequential display, from a list of aplurality of content selections in a content surf, of the plurality ofcontent selections; determining whether a user request to pause thecontent surf was received when a display is generated of a given one ofthe content selections; and generating a content identifier of the givenone of the content selections in response to determining that the userrequest to pause the content surf was received when the display wasgenerated of the given one of the content selections.
 40. The method ofclaim 39, wherein the content identifier includes a content listing. 41.The method of claim 39, further comprising: generating a visualrepresentation of the given one of the content selections correspondingto the content identifier.
 42. The method of claim 39, furthercomprising: generating a display of the given one of the contentselections corresponding to the content identifier.
 43. The method ofclaim 39, wherein the sequential display is generated in a first areaand a display of the given one of the content selections correspondingto the content identifier is generated in a second area.
 44. The methodof claim 43, wherein the sequential display generated in the first areais updated to generate a display of another one of the plurality ofcontent selections while the display of the given one of the contentselections generated in the second area is maintained.
 45. The method ofclaim 39, further comprising: receiving a user selection of the contentidentifier; terminating the content surf responsive to the userselection; and generating a display of the given one of the contentselections corresponding to the selected content identifier.
 46. Themethod of claim 39, wherein the plurality of content selections isdetermined based on user profile data.
 47. The method of claim 39,wherein the content identifier is a first content identifier in aplurality of content identifiers, the method further comprising:determining whether another user request to pause the content surf wasreceived when a display is generated of another one of the contentselections; generating a second content identifier of the another one ofthe content selections in response to determining that the another userrequest to pause the content surf was received when the display wasgenerated of the another one of the content selections; and adding thesecond content identifier to the plurality of content identifiers. 48.The method of claim 39 further comprising preventing the generation ofanother content identifier corresponding to another content selection ofthe plurality of content selections if a user request to pause thecontent surf is not received when a display of the another contentselection is generated.
 49. A system for content surfing on userequipment, the system comprising: control circuitry configured to:generate a sequential display, from a list of a plurality of contentselections in a content surf, of the plurality of content selections;determine whether a user request to pause the content surf was receivedwhen a display is generated of a given one of the content selections;and generate a content identifier of the given one of the contentselections in response to determining that the user request to pause thecontent surf was received when the display was generated of the givenone of the content selections.
 50. The system of claim 49, wherein thecontent identifier includes a content listing.
 51. The system of claim49, wherein the control circuitry is further configured to: generate avisual representation of the given one of the content selectionscorresponding to the content identifier.
 52. The system of claim 49,wherein the control circuitry is further configured to: generate adisplay of the given one of the content selections corresponding to thecontent identifier.
 53. The system of claim 49, wherein the sequentialdisplay is generated in a first area and a display of the given one ofthe content selections corresponding to the content identifier isgenerated in a second area.
 54. The system of claim 53, wherein thecontrol circuitry is further configured to update the sequential displaygenerated in the first area to generate a display of another one of theplurality of content selections while the display of the given one ofthe content selections generated in the second area is maintained. 55.The system of claim 49, wherein the control circuitry is furtherconfigured to: receive a user selection of the content identifier;terminate the content surf responsive to the user selection; andgenerate a display of the given one of the content selectionscorresponding to the selected content identifier.
 56. The system ofclaim 49, wherein the plurality of content selections is determinedbased on user profile data.
 57. The system of claim 49, wherein thecontent identifier is a first content identifier in a plurality ofcontent identifiers and the control circuitry is further configured to:determine whether another user request to pause the content surf wasreceived when a display is generated of another one of the contentselections; generate a second content identifier of the another one ofthe content selections in response to determining that the another userrequest to pause the content surf was received when the display wasgenerated of the another one of the content selections; and add thesecond content identifier to the plurality of content identifiers. 58.The system of claim 49, wherein the control circuitry is furtherconfigured to: prevent the generation of another content identifiercorresponding to another content selection of the plurality of contentselections if a user request to pause the content surf is not receivedwhen a display of the another content selection is generated.